import random
'''
快速排序
'''
def quick_sort(arr):
    if len(arr) <= 1: #数组长度小于等于1无须排序
        return arr

    pivot = arr[len(arr)//2]      #选取数组中间值为基准值
    left = [x for x in arr if x < pivot]    #小于基准值归到左边列表
    middle = [x for x in arr if x == pivot] #等于基准值归到中间列表
    right = [x for x in arr if x > pivot]   #大于基准值归到右边列表

    return quick_sort(left) + middle + quick_sort(right)

#示例
arr = random.sample(range(1, 100), 10) #产生100以内的10个随机数
print("原始数组为：")
print(arr)
arr_sort = quick_sort(arr)
print("排序后的数组为：")
print(arr_sort)